package com.example.roleplay.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 知识片段实体
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class KnowledgeSnippet {
    
    /**
     * 片段唯一标识
     */
    private String id;
    
    /**
     * 片段标题
     */
    private String title;
    
    /**
     * 片段序号（在同一标题下的顺序）
     */
    private int index;
    
    /**
     * 片段内容
     */
    private String content;
    
    /**
     * 片段分类/标签
     */
    private String category;
    
    /**
     * 来源文件
     */
    private String sourceFile;
    
    /**
     * 权重（用于排序）
     */
    private double weight;
    
    /**
     * 获取引用格式
     */
    public String getCitationFormat() {
        return String.format("(%s)", title);
    }
    
    /**
     * 获取带引用的内容
     */
    public String getContentWithCitation() {
        return content + " " + getCitationFormat();
    }
}